﻿using System;
using System.Collections.Generic;
using System.Linq;
using orienta.Models;

namespace orienta.Helper
{

    public class UsuarioInfo
    {
        public string DescUsuario { get; set; }
        public string ApePaterno { get; set; }
        public string ApeMaterno { get; set; }
        public string Nombres { get; set; }
        public string Perfil { get; set; }
        public string TipoUsuario { get; set; }
        public string InicioVigencia { get; set; }
        public string FinVigencia { get; set; }
        public decimal IdUsuario { get; set; }
        public decimal IdUsuarioBandeja { get; set; }
        public string DescDependencia { get; set; }
    }

    public class UsuarioHelper
    {
        private GoodTireEntities db = new GoodTireEntities();

        public List<UsuarioInfo> getDetalleUsuarioDescList(string CodUsuario, string strNombres)
        {
            var detalleList = (from 
                               MaeUsuario in db.ORIMaeUsuario 
                               join MaeFuncionario in db.ORIMaeFuncionario
                                   on MaeUsuario.nIdeFuncionario equals MaeFuncionario.nIdeFuncionario
                               orderby MaeUsuario.vCodUsuario
                               where (MaeUsuario.vCodUsuario.Contains(CodUsuario))
                               select new UsuarioInfo() {
                                   IdUsuario = MaeUsuario.nIdeUsu,
                                   DescUsuario = MaeUsuario.vCodUsuario,
                                   ApePaterno = MaeFuncionario.vPrimApellido,
                                   ApeMaterno = MaeFuncionario.VSegNombre,
                                   Nombres = MaeFuncionario.vPrimNombre + MaeFuncionario.VSegNombre
                               });
            return detalleList.ToList();
        }

        public List<UsuarioInfo> getDetalleUsuarioBandejaList(int idUsuario)
        {
            var detalleList = (from
                               DetBandeja in db.ORIDetBandejaUsuario
                               join MaeDependencia in db.ORIMaeDependencia
                                   on DetBandeja.nIdeDep equals MaeDependencia.nIdeDep
                               join MaeUsuario in db.ORIMaeUsuario
                               on DetBandeja.nIdeUsuBan equals MaeUsuario.nIdeUsu
                               orderby DetBandeja.nIdeBandjaUser
                               where (DetBandeja.nIdeUsuBan == idUsuario)
                               select new UsuarioInfo()
                               {
                                   IdUsuario = DetBandeja.nIdeUsuBan,
                                   IdUsuarioBandeja = DetBandeja.nIdeBandjaUser,
                                   DescDependencia = MaeDependencia.vDescripcion,
                                   DescUsuario = MaeUsuario.vCodUsuario
                               });
            return detalleList.ToList();
        }


    }

}